against a late firing timer callback function (e.g. hpet_timer_fn) which
tries to access local APIC state.
Signed-off-by: Steven Hand <steven@xensource.com>
{
struct domain *d = v->domain;
- vlapic_destroy(v);
- hvm_funcs.vcpu_destroy(v);
-
- /* Event channel is already freed by evtchn_destroy(). */
- /*free_xen_event_channel(v, v->arch.hvm_vcpu.xen_port);*/
-
if ( v->vcpu_id == 0 )
{
/* NB. All these really belong in hvm_domain_destroy(). */
pmtimer_deinit(d);
hpet_deinit(d);
}
+
+ vlapic_destroy(v);
+ hvm_funcs.vcpu_destroy(v);
+
+ /* Event channel is already freed by evtchn_destroy(). */
+ /*free_xen_event_channel(v, v->arch.hvm_vcpu.xen_port);*/
}